﻿<%@ Page Title="Mis Envíos" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="MisEnvios.aspx.cs" Inherits="CorreoSocialWeb.Envios.ListaDeEnvios" %>
<%@ Register TagPrefix="nav" TagName="Navegador" Src="~/Controls/NavegadorUserControl.ascx" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <nav:navegador runat="server" id="NavegadorUserControl" /> 

    <asp:Panel ID="PanelTituloYBoton" runat="server">
        <table style="width:100%;" id="TableTituloYBoton">
            <tr>
                <td style="height: 21px">
                    <h2>
                        <asp:Label ID="LabelTitulo" runat="server" Text="Mis Envíos"></asp:Label>
                    </h2>
                </td>
                <td style="height: 21px">
                    <asp:Panel ID="PanelNuevaRuta" runat="server" style="text-align: right">
                        <asp:LinkButton ID="LinkButtonNuevoEnvio" runat="server" CssClass="btn btn-default" OnClick="LinkButtonNuevoEnvio_Click">Nuevo Envío</asp:LinkButton>
                    </asp:Panel>
                </td>
            </tr>
            <tr>
                <td style="height: 21px">
                    <asp:Label ID="LabelError" runat="server" CssClass="text-danger"></asp:Label>
                </td>
                <td style="height: 21px">&nbsp;</td>
            </tr>
        </table>
    </asp:Panel>
        
    <asp:Panel runat="server" ID="PanelGridView">
    
        <asp:GridView ID="GridView" runat="server" 
            ShowHeaderWhenEmpty="True" Width="100%" 
            SelectMethod="GridView_GetData" 
            ItemType="CorreoSocialWeb.Models.Envio" 
            AutoGenerateColumns="False"
            DataKeyNames="Id" 
            OnRowCommand="GridView_RowCommand" 
            CssClass="table table-hover table-bordered" AllowPaging="True">

            <Columns>

                <asp:DynamicField DataField="OrigenDestinoString" HeaderText="Ruta" >

                <HeaderStyle CssClass="table-header-group" HorizontalAlign="Center" />
                </asp:DynamicField>

                <asp:TemplateField HeaderText="Fecha de Salida Preferida">

                    <ItemTemplate>
                        <asp:Label ID="LabelFechaDeSalida" runat="server" Text=<%# Item.FechaDeSalidaString %> />
                    </ItemTemplate>

                    <HeaderStyle HorizontalAlign="Center" />

                </asp:TemplateField>

                <asp:TemplateField HeaderText="Horario de Salida Preferido">

                    <ItemTemplate>
                        <asp:Label ID="LabelHorarioDeSalida" runat="server" Text="<%# Item.HorarioDeSalidaString %>"></asp:Label>
                    </ItemTemplate>

                    <HeaderStyle HorizontalAlign="Center" />

                </asp:TemplateField>
            
                <asp:TemplateField HeaderText="Horario de Llegada Preferido">

                    <ItemTemplate>
                        <asp:Label ID="LabelHorarioDeLlegada" runat="server" Text="<%# Item.HorarioDeLlegadaString %>"></asp:Label>
                    </ItemTemplate>

                    <HeaderStyle HorizontalAlign="Center" />

                </asp:TemplateField>

                <asp:TemplateField ConvertEmptyStringToNull="False" HeaderText="Tamaño De Paquete" SortExpression="TamañoDePaquete">
                
                    <EditItemTemplate>

                    </EditItemTemplate>
                
                    <ItemTemplate>
                        <asp:DynamicControl 
                            ID="DynamicControlTamanoDePaquete" 
                            runat="server" 
                            DataField="TamañoDePaqueteNombre" 
                            Mode="ReadOnly" />
                    </ItemTemplate>
            
                    <HeaderStyle HorizontalAlign="Center" />
            
                </asp:TemplateField>
            
                <asp:BoundField DataField="Notas" HeaderText="Notas" />

                <asp:BoundField DataField="EstadoString" HeaderText="Estado" >
           
                <HeaderStyle HorizontalAlign="Center" />
                </asp:BoundField>
           
                <asp:TemplateField HeaderText="Ruta - Mensajero">
                    <ItemTemplate>
                        <asp:label runat="server" Visible="<%# Item.TieneRutaActual %>" Text="<%# Item.TieneRutaActual ? Item.RutaActual.Ruta.NombreConMensajero : string.Empty %>" ></asp:label>
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:TemplateField>
           
                <asp:TemplateField HeaderText="Progreso">
                    <ItemTemplate>
                        <asp:Panel ID="PanelProgreso" runat="server" style="text-align: center">
                            <asp:Label  BackColor="<%# Item.PorLlegar ? System.Drawing.Color.Red : System.Drawing.Color.Transparent %>" Visible="<%# Item.PuedeMostrarProgreso %>" ID="LabelProgreso" runat="server" Height="90%" Width="90%"> <%# Item.ProgresoEnvioString %> </asp:Label>
                        </asp:Panel>

                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:TemplateField>
           
                <asp:TemplateField>
                    <ItemTemplate>

                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonCambiarRuta" runat="server" Text="Cambiar Mensajero" Visible='<%# Item.PuedeCambiarRuta %>' />
                                    
                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonMarcarEnRuta" runat="server" Text="Marcar Despachado" Visible='<%# Item.PuedeMarcarDespachado %>' CommandArgument="<%# Item.Id %>" CommandName="MarcarDespachado"/>
                        <ajaxToolkit:ConfirmButtonExtender 
                            ID="ConfirmButtonExtenderDespachado" runat="server"
                            TargetControlID="ButtonMarcarEnRuta"
                            ConfirmText='<%# String.Format("¿Confirmás marcar como Despachado el Envío \"{0}\"?", Item.OrigenDestinoString) %>' />

                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonMarcarRecibido" runat="server" Text="Marcar Recibido" Visible='<%# Item.PuedeMarcarRecibido %>' CommandArgument="<%# Item.Id %>" CommandName="MarcarRecibido" />
                        
                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonCancelarSolicitudDeRuta" runat="server" Text="Cancelar Solicitud" Visible='<%# Item.PuedeCancelarSolicitudDeRuta %>' CommandArgument="<%# Item.Id %>" CommandName="CancelarSolicitudDeRuta" />
                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonCancelarEntregaMensajero" runat="server" Text="Cancelar Despacho" Visible='<%# Item.PuedeCancelarDespacho %>' CommandArgument="<%# Item.Id %>" CommandName="CancelarDespacho" />
                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonCancelarEnRuta" runat="server" Text="Cancelar" Visible='<%# Item.PuedeCancelarEnRuta %>' CommandArgument="<%# Item.Id %>" CommandName="CancelarEnRuta" />
                        
                        <asp:Button ControlStyle-CssClass="btn btn-default" ID="ButtonBorrar" runat="server" Text="Borrar" Visible='<%# Item.PuedeBorrar %>' CommandArgument="<%# Item.Id %>" CommandName="Borrar" />
                        <ajaxToolkit:ConfirmButtonExtender 
                            ID="ConfirmButtonBorrar" runat="server"
                            TargetControlID="ButtonBorrar"
                            ConfirmText='<%# String.Format("¿Confirmás Borrar el Envío \"{0}\"?", Item.OrigenDestinoString) %>' />
                        
                        <asp:HyperLink ID="HyperLinkModificar" 
                            Visible='<%# Item.PuedeModificar %>' 
                            runat="server" 
                            NavigateUrl='<%# String.Format("~/Envios/EditarEnvio.aspx?Id={0}", Item.Id) %>' 
                            CssClass="btn btn-default">Editar
                        </asp:HyperLink>

                        <asp:HyperLink ID="HyperLinkBuscarRuta" 
                            Visible='<%# Item.PuedeBuscarRuta %>' 
                            runat="server" 
                            NavigateUrl='<%# String.Format("~/Envios/BuscarMensajero.aspx?EnvioId={0}", Item.Id) %>' CssClass="btn btn-default">
                            Buscar Mensajero
                        </asp:HyperLink>

                    </ItemTemplate>
                </asp:TemplateField>
           
            </Columns>

            <PagerStyle HorizontalAlign="Center" />

        </asp:GridView>

    </asp:Panel>
</asp:Content>
